﻿#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

//2.MYADD()，宏函数，不是一个真正的函数，只是预处理器进行简单的文本替换；宏函数在一定场景下，效率要比真实函数高；
#define MYADD(x,y) ((x)+(y))
#define MAX 1024	//宏变量MAX

//3.myAdd()，是真正的函数，返回值，参数，函数体；
int myAdd(int a, int b)
{
	return a + b;
}

int func(int a, int b)
{
	int t_a = a;
	int t_b = b;
	return t_a + t_b;
}

//main184：函数调用过程
int main184()
{
	int a = 10;
	int b = 20;
	//5.以空间换时间，直接替换，并不进行入栈出栈等操作，自然效率高很多；
		//对于频繁使用，并且短小的函数，我们一般使用宏函数代替，因为宏函数没有普通函数调用的开销（函数压栈，跳转，返回等）；
	printf("1.使用宏MYADD计算a+b，即值为：%d\n", MYADD(a, b));//30
	//printf("4.使用宏MYADD计算a+b，即值为：%d\n", ((a)+(b)));//30

	int ret = 0;
	ret = func(10, 20);
	//int a = 20;

	system("pause");
	return EXIT_SUCCESS;
}